// 1.导出koa对象
const koa = require('koa');
// 2.初始化koa应用对象
// 4.配置中间件
const app = new koa();
const router = require('koa-router')();
// 这个是应用级别的路由，每次都会执行，但是实际上和路由没什么关系
// 参考洋葱模型
app.use(async (ctx,next) => {
  console.log(new Date());
  await next();
  if(ctx.status == 404) {
    ctx.body = '<h1>not found</h1>';
  }else {
    ctx.body = ctx.url
  }
})
// 6.定义路由
router.get('/home',async (ctx, next) => {
  ctx.body = 'home'
})

// 5.必须要配置路由,模块
// 启动路由
app.use(router.routes());
// 官方推荐用法,接受所有方法
app.use(router.allowedMethods());
// 3.监听端口
app.listen(3000, () => {
  console.log('ok!')
})